﻿using Common.Contract;
using DataCenter.ServiceCommand;
using DataCenter.Web.Service.Core;
using Common.Contract.Customer.Request;
using Common.Contract.Customer.Response;
using Common.Contract.Customer;
using Common.Contract.DataCenter;
using Common.Contract.DataCenter.Request;

namespace DataCenter.Web.Service
{
    public class DataCenterService : ServiceBase, IDataCenter
    {
        public ResponseRecord SynchronizeRegion(SynchronizeRegionRequest request)
        {
            return new SynchronizeRegionServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeProvince(SynchronizeProvinceRequest request)
        {
            return new SynchronizeProvinceServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeDistrict(SynchronizeDistrictRequest request)
        {
            return new SynchronizeDistrictServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeShop(SynchronizeShopRequest request)
        {
            return new SynchronizeShopServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeShopCell(SynchronizeShopCellRequest request)
        {
            return new SynchronizeShopCellServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeModel(SynchronizeModelCatRequest request)
        {
            return new SynchronizeModelCatServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeCdcHistory(SynchronizeCdcHistoryRequest request)
        {
            return new SynchronizeCdcHistoryServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeRdcHistory(SynchronizeRdcHistoryRequest request)
        {
            return new SynchronizeRdcHistoryServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizePndHistory(SynchronizePndHistoryRequest request)
        {
            return new SynchronizePndHistoryServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeWarrantyHistory(SynchronizeWarrantyHistoryRequest request)
        {
            return new SynchronizeWarrantyHistoryServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeWarrantyMaster(SynchronizeWarrantyMasterRequest request)
        {
            return new SynchronizeWarrantyMasterServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeWarrantyMessage(SynchronizeWarrantyMessageRequest request)
        {
            return new SynchronizeWarrantyMessageServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeBillingInfo(SynchronizeBillingInfoRequest request)
        {
            return new SynchronizeBillingInfoServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeShopBillto(SynchronizeShopBilltoRequest request)
        {
            return new SynchronizeShopBilltoServiceCommand(Provider).Execute(request);
        }

        public ResponseRecord SynchronizeMRP(SynchronizeMrpRequest request)
        {
            return new SynchronizeMrpServiceCommand(Provider).Execute(request);
        }


        public ResponseRecord SynchronizeOrder(SynchronizeOrderRequest request)
        {
            return new SynchronizeOrderServiceCommand(Provider).Execute(request);
        }


        public ResponseRecord SynchronizeResponseSMS(SynchronizeResponseSMSRequest request)
        {
            throw new System.NotImplementedException();
        }

        public ResponseRecord SynchronizeApplicationError(SynchronizeApplicationErrorRequest request)
        {
            throw new System.NotImplementedException();
        }
    }
}
